Page({
    data: {
      products: [
        { id: 1, name: "新鲜西红柿", price:4.99, unit: "500g", sales: 1234, category: "vegetables", icon: "🥬", quantity: 0 },
        { id: 2, name: "有机黄瓜", price:3.99, unit: "500g", sales: 856, category: "vegetables", icon: "🥒", quantity: 0 },
        { id: 3, name: "红富士苹果", price:6.99, unit: "500g", sales: 2345, category: "fruits", icon: "🍎", quantity: 0 },
        { id: 4, name: "海南香蕉", price:3.49, unit: "500g", sales: 1789, category: "fruits", icon: "🍌", quantity: 0 },
        { id: 5, name: "精品五花肉", price:29.99, unit: "500g", sales: 567, category: "meat", icon: "🥩", quantity: 0 },
        { id: 6, name: "新鲜鸡胸肉", price:15.99, unit: "500g", sales: 789, category: "meat", icon: "🍗", quantity: 0 },
        { id: 7, name: "鲜活基围虾", price:39.99, unit: "500g", sales: 345, category: "seafood", icon: "🦐", quantity: 0 },
        { id: 8, name: "新鲜带鱼", price:25.99, unit: "500g", sales: 234, category: "seafood", icon: "🐟", quantity: 0 },
        { id: 9, name: "土鸡蛋", price:12.99, unit: "盒", sales: 1567, category: "eggs", icon: "🥚", quantity: 0 },
        { id: 10, name: "鲜牛奶", price:8.99, unit: "1L", sales: 987, category: "eggs", icon: "🥛", quantity: 0 },
        { id: 11, name: "生抽酱油", price:5.99, unit: "瓶", sales: 456, category: "seasoning", icon: "🧂", quantity: 0 },
        { id: 12, name: "食用盐", price:2.99, unit: "袋", sales: 678, category: "seasoning", icon: "🧂", quantity: 0 }
      ],
      currentCategory: 'all',
      searchKeyword: '',
      displayProducts: [],
      cartItems: [],
      cartTotalCount: 0,
      cartTotalPrice: 0,
      showCart: false
    },
  
    onLoad() {
      this.loadCart();
      this.filterProducts();
    },
  
    // 加载购物车数据
    loadCart() {
      try {
        const cartItems = wx.getStorageSync('shoppingCart') || [];
        const cartMap = {};
        
        // 创建购物车映射
        cartItems.forEach(item => {
          cartMap[item.id] = item.quantity;
        });
        
        // 更新商品数量
        const products = this.data.products.map(product => {
          return {
            ...product,
            quantity: cartMap[product.id] || 0
        };
      });
      
      // 计算购物车统计
      const cartTotalCount = cartItems.reduce((total, item) => total + item.quantity, 0);
      const cartTotalPrice = cartItems.reduce((total, item) => total + (item.price * item.quantity), 0);
      
      this.setData({
        products,
        cartItems,
        cartTotalCount,
        cartTotalPrice
      });
    } catch (e) {
      console.error('加载购物车失败:', e);
    }
  },

  // 保存购物车数据
  saveCart() {
    try {
      wx.setStorageSync('shoppingCart', this.data.cartItems);
    } catch (e) {
      console.error('保存购物车失败:', e);
    }
  },

  // 切换分类
  switchCategory(e) {
    const category = e.currentTarget.dataset.category;
    this.setData({
      currentCategory: category,
      searchKeyword: ''
    }, () => {
      this.filterProducts();
    });
  },

  // 搜索输入
  onSearchInput(e) {
    this.setData({
      searchKeyword: e.detail.value
    }, () => {
      this.filterProducts();
    });
  },

  // 过滤商品
  filterProducts() {
    const { products, currentCategory, searchKeyword } = this.data;
    let filteredProducts = products;
    
    // 按分类过滤
    if (currentCategory !== 'all') {
      filteredProducts = filteredProducts.filter(product => product.category === currentCategory);
    }
    
    // 按关键词搜索
    if (searchKeyword) {
      const keyword = searchKeyword.toLowerCase();
      filteredProducts = filteredProducts.filter(product => 
        product.name.toLowerCase().includes(keyword) ||
        product.category.toLowerCase().includes(keyword)
      );
    }
    
    this.setData({ displayProducts: filteredProducts },()=>{
  console.log("当前显示的商品数据：",this.data.displayProducts);
  });
},

  // 添加到购物车
  addToCart(e) {
    const item = e.currentTarget.dataset.item;
    this.increaseQuantity({ currentTarget: { dataset: { id: item.id } } });
  },

  // 增加商品数量
  increaseQuantity(e) {
    const id = e.currentTarget.dataset.id;
    const { products, cartItems } = this.data;
    
    // 更新商品数量
    const updatedProducts = products.map(product => {
      if (product.id === id) {
        return { ...product, quantity: product.quantity + 1 };
      }
      return product;
    });
    
    // 更新购物车
    let updatedCartItems = [...cartItems];
    const existingItemIndex = updatedCartItems.findIndex(item => item.id === id);
    
    if (existingItemIndex >= 0) {
      updatedCartItems[existingItemIndex].quantity += 1;
    } else {
      const product = products.find(p => p.id === id);
      updatedCartItems.push({
        id: product.id,
        name: product.name,
        price: product.price,
        unit: product.unit,
        icon: product.icon,
        quantity: 1
      });
    }
    // 计算购物车统计
const cartTotalCount = updatedCartItems.reduce((total, item) => total + item.quantity, 0);
const cartTotalPrice = updatedCartItems.reduce((total, item) => total + (item.price * item.quantity), 0);

// 新增日志：确认价格计算结果
console.log('当前购物车总价：', cartTotalPrice); 

this.setData({
  products: updatedProducts,
  cartItems: updatedCartItems,
  cartTotalCount,
  cartTotalPrice
}, () => {
  this.saveCart();
});
  },

  // 减少商品数量
  decreaseQuantity(e) {
    const id = e.currentTarget.dataset.id;
    const { products, cartItems } = this.data;
    
    // 更新商品数量
    const updatedProducts = products.map(product => {
      if (product.id === id) {
        const newQuantity = Math.max(0, product.quantity - 1);
        return { ...product, quantity: newQuantity };
      }
      return product;
    });
    
    // 更新购物车
    let updatedCartItems = [...cartItems];
    const existingItemIndex = updatedCartItems.findIndex(item => item.id === id);
    
    if (existingItemIndex >= 0) {
      updatedCartItems[existingItemIndex].quantity -= 1;
      
      if (updatedCartItems[existingItemIndex].quantity <= 0) {
        updatedCartItems.splice(existingItemIndex, 1);
      }
    }
    
    // 计算购物车统计
    const cartTotalCount = updatedCartItems.reduce((total, item) => total + item.quantity, 0);
    const cartTotalPrice = updatedCartItems.reduce((total, item) => total + (item.price * item.quantity), 0);
    
    this.setData({
      products: updatedProducts,
      cartItems: updatedCartItems,
      cartTotalCount,
      cartTotalPrice
    }, () => {
      this.saveCart();
    });
  },

  // 增加购物车商品数量
  increaseCartItem(e) {
    const id = e.currentTarget.dataset.id;
    this.increaseQuantity(e);
  },

  // 减少购物车商品数量
  decreaseCartItem(e) {
    const id = e.currentTarget.dataset.id;
    this.decreaseQuantity(e);
  },

  // 打开购物车
  openCart() {
    this.setData({ showCart: true });
  },

  // 关闭购物车
  closeCart() {
    this.setData({ showCart: false });
  },

  // 阻止事件冒泡
  stopPropagation() {
    // 空函数，用于阻止事件冒泡
  },

  // 去结算
  goToCheckout() {
    if (this.data.cartTotalCount > 0) {
      this.setData({ showCart: true });
    }
  },

  // 确认订单
  confirmOrder() {
    if (this.data.cartTotalCount > 0) {
      wx.showModal({
        title: '订单确认',
        content: `订单提交成功！总金额：¥${this.data.cartTotalPrice.toFixed(2)}`,
        showCancel: false,
        success: () => {
          // 清空购物车
          const updatedProducts = this.data.products.map(product => {
            return { ...product, quantity: 0 };
          });
          
          this.setData({
            cartItems: [],
            cartTotalCount: 0,
            cartTotalPrice: 0,
            showCart: false,
            products: updatedProducts
          }, () => {
            this.saveCart();
          });
        }
      });
    }
  }
});